/**
 * Pes for allBase JS
 *
 * Copyright (c) 2013 phpeskill.com (http://www.pescms.com)
 *
 * For the full copyright and license information, please view
 * the file LICENSE.md that was distributed with this source code.
 */

/**
 * 页面刷新
 */
function reload()
{
    window.location.reload();
}

/**
 * 页面跳转
 * @param {type} url 目标页面URL
 */
function jump(url) {
    window.location.href = url;
}

/**
 * 获取/设置输入框的值 名称
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function inputValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("input[name=" + name + "]").val();
    } else {
        $("input[name=" + name + "]").val(value);
    }
}

/**
 * 获取/设置选择框的值
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function selectedValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("select[name=" + name + "]").val();
    } else {
        $("select[name=" + name + "]").val(value);
    }
}

/**
 * 获取select下的文本值
 * @param {type} name 名称
 * @returns {@exp;@call;$@call;text}
 */
function selectedText(name) {
    return $("select[name=" + name + "]").text();

}

/**
 * 获取/设置checkbox的值
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function checkboxValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("checkbox[name=" + name + "]").val();
    } else {
        $("checkbox[name=" + name + "]").val(value);
    }
}

/**
 * 获取/设置radio的值
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function radioValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("radio[name=" + name + "]").val();
    } else {
        $("radio[name=" + name + "]").val(value);
    }
}

/**
 * 获取/设置文本框的值
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function textareaValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("textarea[name=" + name + "]").val();
    } else {
        $("textarea[name=" + name + "]").val(value);
    }
}

/**
 * 获取/设置指定class的值
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function classValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("." + name).val();
    } else {
        $("." + name).val(value);
    }

}

/**
 * 获取/设置指定ID的值
 * @param {type} name 名称
 * @param {type} value 设置值
 * @returns {@exp;@call;$@call;val}
 */
function idValue(name, value) {
    if (value == null || value == 'undefined') {
        return $("#" + name).val();
    } else {
        $("#" + name).val(value);
    }
}

/**
 * ajax封装
 * @param {str} url 请求地址
 * @param {str} type 请求方式POST/GET
 * @param {array} sendData 传送的表单类型
 * @returns {unresolved} 状态码为200时，则回调数据
 */
function ajax(url, type, sendData) {
    var callBackData = false;
    paramKey = [];
    paramValue = [];
    if (typeof(sendData) != 'object' && typeof(sendData) != 'undefined') {
        alert('提交参数类型不为数组');
        return false;
    }
    if (typeof(sendData) != 'undefined') {
        for (key in sendData) {
            paramKey.push(key);
            paramValue.push(sendData[key]);
        }
    } else {
        paramKey = [0];
        paramValue = [0];
    }
    $.ajax({
        url: url,
        data: {key: paramKey, value: paramValue},
        type: type,
        async: false,
        dataType: 'json',
        success: function(data) {
            $("#loader").hide();
            if (data == null) {
                alert('系统没有回调请求');
                return false;
            }
            if (data.status == 0) {
                alert(data.info);
                return false;
            }
            if (data.status == 200) {
                callBackData = data;
                return data;//将回调数据返回
            } else {
                alert('未知错误');
                return false;
            }
        },
        error: function() {
            $("#loader").hide();
            alert('执行出错');
            return false;
        },
        beforeSend: function() {
            $("#loader").show();
        }
    })
    return callBackData;
}

/**
 * 设置cookie
 * @param {type} name cookie名称
 * @param {type} value cookie值
 * @param {type} seconds 设置cookie的生成时间
 */
function setCookie(name, value, seconds) {
    seconds = seconds || 0;   //seconds有值就直接赋值，没有为0，这个根php不一样。  
    var expires = "";
    if (seconds != 0) {      //设置cookie生存时间  
        var date = new Date();
        date.setTime(date.getTime() + (seconds * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    document.cookie = name + "=" + escape(value) + expires + "; path=/";   //转码并赋值  
}

/**
 * 取得cookie信息
 * @param {type} name 获取的cookie名称
 * @returns {Boolean} 返回cookie 或者false
 */
function getCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');    //把cookie分割成组  
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];                      //取得字符串  
        while (c.charAt(0) == ' ') {          //判断一下字符串有没有前导空格  
            c = c.substring(1, c.length);      //有的话，从第二位开始取  
        }
        if (c.indexOf(nameEQ) == 0) {       //如果含有我们要的name  
            return unescape(c.substring(nameEQ.length, c.length));    //解码并截取我们要值  
        }
    }
    return false;
}